NixOS で PGP 鍵を作る
#Nix
会社で「お前のコミット Verified でないの流石にバカすぎるから作れ!」って 2 回言われたので作ります
純粋に PGP 鍵を作るうえで見た記事:
https://christina04.hatenablog.com/entry/create-gpg-master-key-and-subkey
https://blog.livewing.net/gpg-life
https://blog.jj1lfc.dev/posts/pgp-key-transition/
https://qiita.com/shun-shobon/items/96f08aa09a30c26a55b5
主鍵は ECC で Certify のみができるようにし,NIST P-521 で作成
鍵の生成時,nix だと
code: command
gpg: agent_genkey failed: No pinentry
Key generation failed: No pinentry
のように言われる,デフォだと pinentry がないらしいね
これらが役に立った:
https://discourse.nixos.org/t/pass-says-no-pinentry/52468
こっちは 2024 年なので新しい
https://github.com/NixOS/nixpkgs/issues/35464
こっちは 2021 年なので古いが,設定ではなく daemon の再起動とかが役に立った
要は
code: nix
programs.gnupg.agent = {
enable = true;
pinentryPackage = pkgs.pinentry-all;
enableSSHSupport = true;
};
pinentry-all は darwin だと動かない
pinentry-mac を入れると良い
した上で
code: shell
gpgconf --reload gpg-agent
systemctl --user restart gpg-agent
すればいいっぽい?
コマンドについては実行しなくてもいいかもしれないが,わかんないです
一応 Cerfity の主鍵は生成できた
alt さんの記事の通り,Encryption 用の鍵は NIST P-521, Sign, Authentication 用は ed25519 で作成した
主鍵に C、副鍵が E/S,A なのだが、主鍵を C,S に